package oj;

/**
 * 反转链表
 */
public class LC206 {
    /**
     * 递归版
     * @param head
     * @return
     */
    public ListNode reverseList(ListNode head) {
        if(head==null || head.next==null){
            return head;
        }
        ListNode secHead=head.next;
        ListNode newHead=reverseList(secHead);
        secHead.next=head;
        head.next=null;
        return newHead;

    }

    /**
     *三指针法
     */
//    public ListNode reverseList(ListNode head) {
//        if(head==null || head.next==null) return head;
//        ListNode prev=null;
//        ListNode cur=head;
//        while(cur!=null){
//            ListNode next=cur.next;
//            cur.next=prev;
//            prev=cur;
//            cur=next;
//        }
//        return prev;
//    }
}
